home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / enumer1a / apistuff.bas next >
BASIC Source File  |  1999-10-18  |  5KB  |  91 lines

  1. Attribute VB_Name = "APIstuff"
  2. '**************************
  3. '**    API Constants
  4.  
  5. 'masks for the predefined standard access types
  6. Public Const STANDARD_RIGHTS_ALL = &H1F0000
  7. Public Const SPECIFIC_RIGHTS_ALL = &HFFFF
  8.  
  9. Public Const WAIT_TIMEOUT = &H102&
  10. Public Const NORMAL_PRIORITY_CLASS = &H20
  11. Public Const IDLE_PRIORITY_CLASS = &H40
  12. Public Const HIGH_PRIORITY_CLASS = &H80
  13. Public Const REALTIME_PRIORITY_CLASS = &H100
  14.  
  15. 'Define severity codes
  16. Public Const ERROR_SUCCESS = 0&
  17. Public Const ERROR_ACCESS_DENIED = 5
  18. Public Const ERROR_NO_MORE_ITEMS = 259
  19.  
  20. Public Const NILL = 0&
  21. Public Const WM_SYSCOMMAND = &H112
  22. Public Const WM_CLOSE = &H10
  23. Public Const INFINITE = &HFFFFFFFF
  24.  
  25. Public Const DELETE = &H10000
  26. Public Const WRITE_DAC = &H40000
  27. Public Const WRITE_OWNER = &H80000
  28. Public Const SYNCHRONIZE = &H100000
  29.  
  30. Public Const HKEY_CLASSES_ROOT = &H80000000
  31. Public Const HKEY_CURRENT_USER = &H80000001
  32. Public Const HKEY_LOCAL_MACHINE = &H80000002
  33. Public Const HKEY_USERS = &H80000003
  34. Public Const HKEY_PERFORMANCE_DATA = &H80000004
  35. Public Const HKEY_CURRENT_CONFIG = &H80000005
  36. Public Const HKEY_DYN_DATA = &H80000006
  37. '
  38. ' Reg Data Types...
  39. '
  40. Public Const REG_NONE = 0                       ' No value type
  41. Public Const REG_SZ = 1
  42. Public Const REG_EXPAND_SZ = 2                  ' Unicode nul terminated string
  43. Public Const REG_BINARY = 3                     ' Free form binary
  44. Public Const REG_DWORD = 4                      ' 32-bit number
  45. Public Const REG_DWORD_LITTLE_ENDIAN = 4        ' 32-bit number (same as REG_DWORD)
  46. Public Const REG_DWORD_BIG_ENDIAN = 5           ' 32-bit number
  47. Public Const REG_LINK = 6                       ' Symbolic Link (unicode)
  48. Public Const REG_MULTI_SZ = 7                   ' Multiple Unicode strings
  49. Public Const REG_RESOURCE_LIST = 8              ' Resource list in the resource map
  50. Public Const REG_FULL_RESOURCE_DESCRIPTOR = 9   ' Resource list in the hardware description
  51. Public Const REG_RESOURCE_REQUIREMENTS_LIST = 10
  52. Public Const REG_CREATED_NEW_KEY = &H1                          ' New Registry Key created
  53. Public Const REG_OPENED_EXISTING_KEY = &H2                      ' Existing Key opened
  54. Public Const REG_WHOLE_HIVE_VOLATILE = &H1                      ' Restore whole hive volatile
  55. Public Const REG_REFRESH_HIVE = &H2                             ' Unwind changes to last flush
  56. Public Const REG_NOTIFY_CHANGE_NAME = &H1                       ' Create or delete (child)
  57. Public Const REG_NOTIFY_CHANGE_ATTRIBUTES = &H2
  58. Public Const REG_NOTIFY_CHANGE_LAST_SET = &H4                      ' Time stamp
  59. Public Const REG_NOTIFY_CHANGE_SECURITY = &H8
  60. Public Const REG_LEGAL_CHANGE_FILTER = (REG_NOTIFY_CHANGE_NAME Or REG_NOTIFY_CHANGE_ATTRIBUTES Or REG_NOTIFY_CHANGE_LAST_SET Or REG_NOTIFY_CHANGE_SECURITY)
  61. '
  62. ' Reg Create Type Values...
  63. '
  64. Public Const REG_OPTION_RESERVED = 0           ' Parameter is reserved
  65. Public Const REG_OPTION_NON_VOLATILE = 0       ' Key is preserved when system is rebooted
  66. Public Const REG_OPTION_VOLATILE = 1           ' Key is not preserved when system is rebooted
  67. Public Const REG_OPTION_CREATE_LINK = 2        ' Created key is a symbolic link
  68. Public Const REG_OPTION_BACKUP_RESTORE = 4     ' open for backup or restore
  69. '
  70. ' Reg Key Security Options
  71. '
  72. Public Const READ_CONTROL = &H20000
  73. Public Const KEY_QUERY_VALUE = &H1
  74. Public Const KEY_SET_VALUE = &H2
  75. Public Const KEY_CREATE_SUB_KEY = &H4
  76. Public Const KEY_ENUMERATE_SUB_KEYS = &H8
  77. Public Const KEY_NOTIFY = &H10
  78. Public Const KEY_CREATE_LINK = &H20
  79. Public Const STANDARD_RIGHTS_READ = (READ_CONTROL)
  80. Public Const STANDARD_RIGHTS_WRITE = (READ_CONTROL)
  81. Public Const KEY_READ = ((STANDARD_RIGHTS_READ Or KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY) And (Not SYNCHRONIZE))
  82. Public Const KEY_WRITE = ((STANDARD_RIGHTS_WRITE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY) And (Not SYNCHRONIZE))
  83. Public Const KEY_EXECUTE = (KEY_READ)
  84. Public Const KEY_ALL_ACCESS = ((KEY_QUERY_VALUE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY Or KEY_CREATE_LINK) And (Not SYNCHRONIZE))
  85.  
  86. 'We use three API calls in this example.
  87. Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
  88. Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
  89. Declare Function RegEnumValue Lib "advapi32.dll" Alias "RegEnumValueA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpValueName As String, lpcbValueName As Long, ByVal lpReserved As Long, lpType As Long, lpData As Byte, lpcbData As Long) As Long
  90.  
  91.